package pojo

import (
	"a-common/utils"
	"time"
)

type AppLoginDto struct {
	// 必填 required
	UserName string `json:"userName" validate:"required"`
	Password string `json:"password" validate:"required"`
	Uuid     string `json:"uuid"`
	Code     string `json:"code"`
}

func (m *AppLoginDto) Validator() error {
	return utils.NewValidatorUtils().Validate.Struct(m)
}

type LoginUser struct {
	UserId         int64     // 用户ID
	DeptId         int64     // 部门ID
	DeptName       string    // 部门名称
	Token          string    // 用户唯一标识
	UserType       string    // 用户类型
	LoginTime      time.Time // 登录时间
	ExpireTime     time.Time // 过期时间
	Ipaddr         string    // 登录IP地址
	LoginLocation  string    // 登录地点
	Browser        string    // 浏览器类型
	Os             string    // 操作系统
	MenuPermission []string  // 菜单权限
	RolePermission []string  // 角色权限
	Username       string    // 用户名
	Roles          []RoleDTO // 角色对象
	RoleId         int16     // 数据权限 当前角色ID
}

type RoleDTO struct {
	RoleId    int64  // 角色ID
	RoleName  string // 角色名称
	RoleKey   string // 角色权限
	DataScope string // 数据范围（1：所有数据权限；2：自定义数据权限；3：本部门数据权限；4：本部门及以下数据权限；5：仅本人数据权限）
}
